1   /*
2    * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
3    * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4    *
5    * This code is free software; you can redistribute it and/or modify it
6    * under the terms of the GNU General Public License version 2 only, as
7    * published by the Free Software Foundation.
8    *
9    * This code is distributed in the hope that it will be useful, but WITHOUT
10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11   * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12   * version 2 for more details (a copy is included in the LICENSE file that
13   * accompanied this code).
14   *
15   * You should have received a copy of the GNU General Public License version
16   * 2 along with this work; if not, write to the Free Software Foundation,
17   * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18   *
19   * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20   * or visit www.oracle.com if you need additional information or have any
21   * questions.
22   */
23  
24  /**
25   *
26   *
27   *  This isn't the test case: ImmutableResourceTest.sh is.
28   *  Refer to ImmutableResourceTest.sh when running this test.
29   *
30   *  @bug        6287579
31   *  @summary    SubClasses of ListResourceBundle should fix getContents()
32   *
33   *  @author Tim Bell
34   *
35   */
36  import java.util.ResourceBundle;
37  
38  public class ImmutableResourceTest {
39  
40      public static void main(String[] args) throws Exception {
41          /* Reach under the covers and get the message strings */
42          com.sun.tools.example.debug.tty.TTYResources ttyr =
43              new com.sun.tools.example.debug.tty.TTYResources ();
44          Object [][] testData = ttyr.getContents();
45  
46          /* Shred our copy of the message strings */
47          for (int ii = 0; ii < testData.length; ii++) {
48              testData[ii][0] = "T6287579";
49              testData[ii][1] = "yyy";
50          }
51  
52          /*
53           * Try to lookup the shredded key.
54           * If this is successful we have a problem.
55           */
56          String ss = null;
57          try {
58              ss = ttyr.getString("T6287579");
59          } catch (java.util.MissingResourceException mre) {
60              /*
61               * Ignore the expected exception since key "T6287579" is
62               * not in the canonical TTYResources.
63               */
64          }
65          if ("yyy".equals(ss)) {
66              throw new Exception ("SubClasses of ListResourceBundle should fix getContents()");
67          }
68          System.out.println("...Finished.");
69      }
70  }